import axios from "axios";
// 清提示
import { Toast } from "vant";

// const prefix = "http://www.pudge.wang:4000";

// 创建实例
// 可以使用自定义配置新建一个 axios 实例
const instance = axios.create({
  // 接口前缀
  baseURL: "http://121.199.0.125:3000/api",
  // 超时时间
  timeout: 10000,
});

// 拦截器
// 添加请求拦截器,在发送之前做一些统一的事情
instance.interceptors.request.use(
  (config) => {
    // console.log(config);
    // config.params.token = "123ferg34g34h34h34h";
    // 在发送请求之前做些什么
    return config;
  },
  (error) => {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
instance.interceptors.response.use(
  (response) => {
    // 对响应数据做点什么
    // 这里return出去的内容就是之后.then的内容
    return response.data;
  },
  (error) => {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);

const http = {
  get(url, params) {
    return new Promise((resolve) => {
      return instance
        .get(url, {
          params,
        })
        .then((response) => {
          if (response.status == "0") {
            resolve(response);
          }
        })
        .catch((error) => {
          // 轻提示提示错误信息
          Toast(error.message);
        });
    });
  },
  post(url, params) {
    return new Promise((resolve) => {
      return instance
        .post(url, params)
        .then((response) => {
          resolve(response);
        })
        .catch((error) => {
          // 轻提示提示错误信息
          Toast(error.message);
        });
    });
  },
};

export default http;
